#!/bin/bash

# HQ-Reader macOS 构建脚本
# 使用PyInstaller打包应用程序并创建DMG文件

set -e  # 遇到错误时退出

echo "🍎 开始构建 HQ-Reader macOS 版本..."

# 检查是否在macOS上运行
if [[ "$OSTYPE" != "darwin"* ]]; then
    echo "❌ 此脚本只能在macOS上运行"
    exit 1
fi

# 获取脚本所在目录（packaging文件夹）
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# 项目根目录是packaging文件夹的上级目录
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"

echo "📁 项目根目录: $PROJECT_ROOT"
echo "📦 打包脚本目录: $SCRIPT_DIR"

# 切换到项目根目录
cd "$PROJECT_ROOT"

# 检查Python是否可用
if ! command -v python3 &> /dev/null; then
    echo "错误: Python3未安装或不在PATH中"
    exit 1
fi

# 显示Python版本
echo "Python版本: $(python3 --version)"

# 检查是否在虚拟环境中
if [[ -z "$VIRTUAL_ENV" ]]; then
    echo "警告: 建议在虚拟环境中运行构建"
    echo ""
fi

# 检查PyInstaller
echo "检查PyInstaller..."
if ! python3 -c "import PyInstaller" &> /dev/null; then
    echo "安装PyInstaller..."
    python3 -m pip install pyinstaller
fi

# 运行构建脚本
echo "📦 开始PyInstaller构建..."
python3 "$SCRIPT_DIR/build.py" --clean

# 创建DMG文件
echo "💿 创建DMG安装包..."
python3 "$SCRIPT_DIR/create_dmg.py"

echo "✅ macOS构建完成！"
echo ""
echo "📁 生成的文件："
ls -la dist/ | grep -E "\.(app|dmg)$"

echo ""
echo "🚀 使用方法："
echo "1. 双击 HQ-Reader_1.0.0_macOS.dmg 挂载安装包"
echo "2. 将 HQ-Reader.app 拖拽到 Applications 文件夹"
echo "3. 在启动台中找到并启动 HQ-Reader"

# 如果生成了.app文件，显示额外信息
if [[ -d "dist/HQ-Reader.app" ]]; then
    echo "macOS应用程序包已生成: dist/HQ-Reader.app"
    echo "可以直接双击运行，或拖拽到应用程序文件夹。"
    echo ""
fi 